package cn.daneijiaoyuarrys;


/**
 * @author SWJ
 * @create 2021-06-09 11:26
 * 本类用于测试继承中的方法的使用
 */
public class TestCreate10 {
    public static void main(String[] args) {
        Father1 F1 = new Father1();
        Son1 s1 = new Son1();
        F1.Eat();
        s1.Eat();
        s1.study();//调用子类方法
        s1.Play();
        s1.Eat();
    }
}

class Father1 {
    /**
     * 创建父类
     */
    public void Eat() {
        System.out.println("吃东西");
    }

    public void Play() {
        System.out.println("玩电脑游戏");

    }
}

/**
 * 创建子类并与父类建立继承关系
 */
class Son1 extends Father1 {


/**OCP原则:面向修改关闭，面向拓展开放
 * 只允许功能拓展，不允许改原来的代码*/
//修改父类中的原有的功能--不允许修改父类中的源代码
// 功能修改--方法的重写
    /**重写的规则
     * 和父类的签名保持一致[方法名&参数列表、]
     * 然后去修改子类中本方法的实现，父类中的功能并没有被改变
     * 方法的修饰符>=父类方法的修饰符
     * 返回值类型要<=父类的返回值类型
     * 重写时候，子类必须拥有可以重写的权限，子类无权限修改父类的私有方法*/

    /**
     * 重写 子类对父类不满意 2同2小1大
     * 2同方法名 参数列表相同
     * 子类方法的修饰符>=父类方法的修饰符
     */


    public void study() {
        System.out.println("学习包粽子");
    }

    @Override
    public void Eat() {
        System.out.println("吃东西继承SON");
    }

    @Override
    public void Play() {
        System.out.println("玩电脑游戏1");

    }
}
//
//"C:\Program Files\Java\jdk1.8.0_91\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2020.2.3\lib\idea_rt.jar=49954:C:\Program Files\JetBrains\IntelliJ IDEA 2020.2.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_91\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\rt.jar;D:\软件\idea\out\production\ModuleOop" cn.daneijiaoyuarrys.TestCreate10
//        吃东西
//        吃东西继承SON
//        学习包粽子
//        玩电脑游戏1
//        吃东西继承SON
//
//        Process finished with exit code 0
